#include "pch.h"
//#include <dlfcn.h>

namespace Shared
{

    struct LibHandle
    {
        void* handle = 0;

        bool Avail();
        bool Open(const char* path);
        int Close();

        void* GetProjAddr(const char* funcName);

        template <typename T>
        T GetProcAddrAs(const char* funcName)
        {
            return (T)GetProjAddr(funcName);
        }

        std::string GetSharedPath(const std::string &name);
    };
};